package com.hui.service.impl;

import com.hui.base.StatusCode;
import com.hui.dao.CourseContentDao;
import com.hui.dao.impl.CourseContentDaoImpl;
import com.hui.pojo.Course;
import com.hui.pojo.Course_Lesson;
import com.hui.pojo.Course_Section;
import com.hui.service.CourseContentService;
import com.hui.utils.DateUtils;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: 李昭辉
 * @Date: 2021/07/13/10:59
 * @Description:
 */
public class CourseContentServiceImpl implements CourseContentService {
    private CourseContentDao courseContentDao = new CourseContentDaoImpl();

    // 保存课时
    @Override
    public String insertLesson(Course_Lesson lesson) {
        // 补全信息  创建时间，修改时间，状态
        String dateFormat = DateUtils.getDateFormat();
        lesson.setCreate_time(dateFormat);
        lesson.setUpdate_time(dateFormat);
        lesson.setStatus(2);  //课时状态,0-隐藏，1-未发布，2-已发布
        // 执行插入操作，结果以 StatusCode 形式返回
        int i = courseContentDao.insertLesson(lesson);
        if (i > 0)
            return StatusCode.SUCCESS.toString();
        return StatusCode.FAIL.toString();
    }

    // 修改课时
    @Override
    public String updateLesson(Course_Lesson lesson) {
        // 补全信息  修改时间
        lesson.setUpdate_time(DateUtils.getDateFormat());
        // 执行需改操作，结果以 StatusCode 形式返回
        int i = courseContentDao.updateLesson(lesson);
        if (i > 0)
            return StatusCode.SUCCESS.toString();
        return StatusCode.FAIL.toString();
    }

    @Override
    public List<Course_Section> getSectionAndLessonByCourseId(int courseId) {
        return courseContentDao.getSectionByCourseId(courseId);
    }

    // 根据id获取课程回显信息
    @Override
    public Course getCourseById(int id) {
        return courseContentDao.getCourseById(id);
    }

    // 插入章节信息
    @Override
    public String insertSection(Course_Section section) {
        // 补全信息  :  创建时间、修改时间、状态
        String dateFormat = DateUtils.getDateFormat();
        section.setCreate_time(dateFormat);
        section.setUpdate_time(dateFormat);
        section.setStatus(2);  // 状态，0:隐藏；1：待更新；2：已发布
//        section.setIsDel(0);  // 是否删除 0-未删除，1-已删除
        // 执行插入操作
        int i = courseContentDao.insertSection(section);
        // 返回状态码
        if (i > 0)
            return StatusCode.SUCCESS.toString();

        return StatusCode.FAIL.toString();
    }

    // 修改章节信息
    @Override
    public String updateSection(Course_Section section) {
        // 补全信息
        section.setUpdate_time(DateUtils.getDateFormat());
        // 执行修改操作
        int i = courseContentDao.updateSection(section);
        if (i > 0)
            return StatusCode.SUCCESS.toString();

        return StatusCode.FAIL.toString();
    }

    // 修改章节状态
    @Override
    public String updateStatusById(int id, int status) {
        int i = courseContentDao.updateStatusById(id, status);
        if (i > 0)
            return StatusCode.SUCCESS.toString();

        return StatusCode.FAIL.toString();
    }
}
